package com.xinghai.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinghai.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import com.xinghai.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 活动管理对象 jkq_activity
 *
 * @author xinghai
 * @date 2025-08-02
 */
@TableName("jkq_activity")
@EqualsAndHashCode(callSuper = true)
@Data
public class JkqActivity extends BaseEntity
{
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /** 活动id */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 活动标题 */
    @Excel(name = "活动标题")
    private String title;

    /** 活动简介 */
    @Excel(name = "活动简介")
    private String content;

    /** 活动详情 */
    @Excel(name = "活动详情")
    private String details;

    /** 活动类型 */
    @Excel(name = "活动类型", dictType = "activity_type")
    private String type;

    /** 活动封面 */
    @Excel(name = "活动封面")
    private String imageUrl;

    /** 分享次数 */
    @Excel(name = "分享次数")
    private Integer shareNum;

    /** 报名人数 */
    @Excel(name = "报名人数")
    private Integer signNum;

    /** 发放人数/通过人数 */
    @Excel(name = "发放人数/通过人数")
    private Integer grantNum;

    /** 限制人数 */
    @Excel(name = "限制人数")
    private Integer limitNum;

    /** 限制最小年龄 */
    @Excel(name = "限制最小年龄")
    private Integer limitAgeMin;

    /** 限制最大年龄 */
    @Excel(name = "限制最大年龄")
    private Integer limitAgeMax;

    /** 限制最大年龄 */
    @Excel(name = "开始时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 限制最大年龄 */
    @Excel(name = "结束时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 状态 */
    @Excel(name = "状态", dictType = "sys_show_hide")
    private String status;

    /** 删除标志 */
    @TableLogic
    private String delFlag;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;


}
